<!DOCTYPE html>
<html lang="en">
<head>
<title>SChannel helper: All Functions and Procedures</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="PasDoc 0.16.0">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="StyleSheet" type="text/css" href="pasdoc.css">
</head>
<body>
<div class="container"><div class="navigation">
<h2><a href="index.html">SChannel helper</a></h2><ul><li><a href="AllUnits.html">Units</a></li><li><a href="ClassHierarchy.html">Class Hierarchy</a></li><li><a href="AllClasses.html">Classes, Interfaces, Objects and Records</a></li><li><a href="AllTypes.html">Types</a></li><li><a href="AllVariables.html">Variables</a></li><li><a href="AllConstants.html">Constants</a></li><li><a href="AllFunctions.html">Functions and Procedures</a></li><li><a href="AllIdentifiers.html">Identifiers</a></li></ul></div><div class="content">
<h1 class="allitems">All Functions and Procedures</h1>
<table class="itemstable wide_list">
<tr class="listheader">
<th class="itemname">Name</th>
<th class="itemunit">Unit</th>
<th class="itemdesc">Description</th>
</tr>
<tr class="list">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#CheckServerCert">CheckServerCert</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Check server certificate - variant using SessionData only  </p></td>
</tr>
<tr class="list2">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#CheckServerCert">CheckServerCert</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Check server certificate   with a certificate that contains a common name that is not valid will be ignored.</p></td>
</tr>
<tr class="list">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#CreateCredentials">CreateCredentials</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Mainly for internal use.</p></td>
</tr>
<tr class="list2">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#CreateSessionCreds">CreateSessionCreds</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Init session creds, return data record to be used in calling other functions.</p></td>
</tr>
<tr class="list">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#CreateSharedCreds">CreateSharedCreds</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Shared creds factory</p></td>
</tr>
<tr class="list2">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#Debug">Debug</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Print <code>debug</code> message either with user-defined function if set or default one (<code><a class="normal" href="SChannel.Utils.TDefaultDebugFnHoster.html#Debug">TDefaultDebugFnHoster.Debug</a></code> method)</p></td>
</tr>
<tr class="list">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#DecryptData">DecryptData</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Decrypt data received from server.</p></td>
</tr>
<tr class="list2">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#DeleteContext">DeleteContext</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Dispose and nullify security context</p></td>
</tr>
<tr class="list">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#DoClientHandshake">DoClientHandshake</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Function to prepare all necessary handshake data.</p></td>
</tr>
<tr class="list2">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#EncryptData">EncryptData</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Encrypt data (prepare for sending to server).</p></td>
</tr>
<tr class="list">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#Fin">Fin</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Dispose and nullify global stuff.</p></td>
</tr>
<tr class="list2">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#FinSession">FinSession</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Finalize session, free credentials</p></td>
</tr>
<tr class="list">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#FreeSessionCreds">FreeSessionCreds</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Finalize session creds</p></td>
</tr>
<tr class="list2">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#GetCertContext">GetCertContext</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Retrieve server certificate.</p></td>
</tr>
<tr class="list">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#GetCurrentCert">GetCurrentCert</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Retrieve server certificate linked to current context.</p></td>
</tr>
<tr class="list2">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#GetSessionCredsPtr">GetSessionCredsPtr</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Return effective pointer to session credentials - either personal or shared</p></td>
</tr>
<tr class="list">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#GetShutdownData">GetShutdownData</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Generate data to send to a server on connection shutdown </p></td>
</tr>
<tr class="list2">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#Init">Init</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Load global stuff.</p></td>
</tr>
<tr class="list">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#InitBuffers">InitBuffers</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Receive size values for current session and init buffer length to contain full message including header and trailer </p></td>
</tr>
<tr class="list2">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#IsWinHandshakeBug">IsWinHandshakeBug</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Check if status is likely a Windows TLS v1.2 handshake bug (<code>SEC_E_BUFFER_TOO_SMALL</code> or <code>SEC_E_MESSAGE_ALTERED</code> status is returned by <code>InitializeSecurityContext</code> on handshake).</p></td>
</tr>
<tr class="list">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#LoadSecurityLibrary">LoadSecurityLibrary</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Mainly for internal use </p></td>
</tr>
<tr class="list2">
<td class="itemname"><a class="bold" href="SChannel.SyncHandshake.html#PerformClientHandshake">PerformClientHandshake</a></td>
<td class="itemunit"><a class="bold" href="SChannel.SyncHandshake.html">SChannel.SyncHandshake</a></td>
<td class="itemdesc"><p>Synchronously perform full handshake process including communication with server.</p></td>
</tr>
<tr class="list">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#SecIsNullHandle">SecIsNullHandle</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Check if handle <code>x</code> is null (has both fields equal to zero)</p></td>
</tr>
<tr class="list2">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#SecStatusErrStr">SecStatusErrStr</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Returns string representaion of given security status (locale message + constant name + numeric value)</p></td>
</tr>
<tr class="list">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#VerifyServerCertificate">VerifyServerCertificate</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Validate certificate.</p></td>
</tr>
<tr class="list2">
<td class="itemname"><a class="bold" href="SChannel.Utils.html#WinVerifyTrustErrorStr">WinVerifyTrustErrorStr</a></td>
<td class="itemunit"><a class="bold" href="SChannel.Utils.html">SChannel.Utils</a></td>
<td class="itemdesc"><p>Returns string representaion of given verify trust error (locale message + constant name + numeric value)</p></td>
</tr>
</table>
<hr><span class="appinfo"><em>Generated by <a href="https://pasdoc.github.io/">PasDoc 0.16.0</a>. </em>
</span>
</div></div></body></html>
